42
Is it possible to programmatically expand a folder (sample 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:Layout := "Expand0 = " + CHR(34) + "c:\" + CHR(34) + ";SelectMode0 = 0"
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
41
Can I limit the size of each cascade column, so the user can't resize them outside of the range I give
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:HeaderVisible := .F.
		oCascadeFile:Mode := 0/*exFixCascadeMode*/
		oCascadeFile:ColumnsVisible := 2/*exFileColumnName*/
		oCascadeFile:MinColumnWidth := 128
		oCascadeFile:MaxColumnWidth := 256
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
40
How can I define the width of the cascade column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:Mode := 0/*exFixCascadeMode*/
		oCascadeFile:DefColumnWidth := 256
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
39
The scroll bars are too large. Can I make them smaller

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:ScrollWidth := 4
		oCascadeFile:ScrollHeight := 4
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
38
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:SetProperty("ScrollPartVisible",0/*exVScroll*/,65536/*exExtentThumbPart*/,.T.)
		oCascadeFile:SetProperty("ScrollPartVisible",1/*exHScroll*/,65536/*exExtentThumbPart*/,.T.)
		oCascadeFile:SetProperty("ScrollPartVisible",2/*exScroll*/,65536/*exExtentThumbPart*/,.T.)
		oCascadeFile:ScrollWidth := 4
		oCascadeFile:SetProperty("Background",276/*exVSBack*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oCascadeFile:SetProperty("Background",260/*exVSThumb*/,AutomationTranslateColor( GraMakeRGBColor  ( { 128,128,128 } )  , .F. ))
		oCascadeFile:ScrollHeight := 4
		oCascadeFile:SetProperty("Background",404/*exHSBack*/,oCascadeFile:Background(276/*exVSBack*/))
		oCascadeFile:SetProperty("Background",388/*exHSThumb*/,oCascadeFile:Background(260/*exVSThumb*/))
		oCascadeFile:SetProperty("Background",511/*exScrollSizeGrip*/,oCascadeFile:Background(276/*exVSBack*/))
		oCascadeFile:EndUpdate()
		oCascadeFile:BeginUpdate()
		oCascadeFile:ColumnsVisible := 2/*exFileColumnName*/
		oCascadeFile:HeaderVisible := .F.
		oCascadeFile:FitCascadeColumns := 3
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
37
How can I lock / freeze the control events
PROCEDURE OnEvent(oCascadeFile,EventID)
	DevOut( Transform(oCascadeFile:EventParam(-2),"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:Event := {|EventID| OnEvent(oCascadeFile,EventID)} /*Notifies the application once the control fires an event.*/

		oCascadeFile:FreezeEvents(.T.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
36
How can I display the list mode in the first view, and thumbnail in the second view

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:AllowSplitView := 1/*exAllowOneSplitView*/
		oCascadeFile:SplitViewHeight := "256"
		oCascadeFile:Layout := "Select1=" + CHR(34) + "c:\" + CHR(34) + ";SelectMode1 = 2"
		oCascadeFile:Layout := "Select0=" + CHR(34) + "c:\" + CHR(34) + ";SelectMode0 = 1"
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
35
How can I programmatically select a different folder in the second, or third view

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:AllowSplitView := 1/*exAllowOneSplitView*/
		oCascadeFile:SplitViewHeight := "256"
		oCascadeFile:Layout := "Select1=" + CHR(34) + "d:\" + CHR(34) + ""
		oCascadeFile:Layout := "Select0=" + CHR(34) + "E:\" + CHR(34) + ""
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
34
How can I programmatically vertically-split the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:AllowSplitView := 2/*exAllowTwoSplitView*/
		oCascadeFile:SplitViewHeight := "256,256"
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
33
How can I find if the control is running in DPI mode
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		DevOut( Transform(oCascadeFile:FormatABC("dpi = 1 ? `normal/stretch mode` : `dpi mode`"),"") )

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
32
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile
	LOCAL oAppearance

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oAppearance := oCascadeFile:VisualAppearance()
			oAppearance:Add(1,"XP:TREEVIEW 2 1")
			oAppearance:Add(2,"XP:TREEVIEW 2 2")
		oCascadeFile:SetProperty("Background",180/*exTreeGlyphOpen*/,0x1000000)
		oCascadeFile:SetProperty("Background",181/*exTreeGlyphClose*/,0x2000000)
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
31
How can I change the visual appearance of the +/- buttons

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile
	LOCAL oAppearance

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oAppearance := oCascadeFile:VisualAppearance()
			oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +;
		"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=")
			oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +;
		"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=")
		oCascadeFile:SetProperty("Background",180/*exTreeGlyphOpen*/,0x1000000)
		oCascadeFile:SetProperty("Background",181/*exTreeGlyphClose*/,0x2000000)
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
30
How can I change the color for selected thumbnail

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:Select := "c:\"
		oCascadeFile:SelectMode := 2/*exSelectModeThumbnail*/
		oCascadeFile:SetProperty("Background",178/*exThumbnailSelBorderColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oCascadeFile:SetProperty("Background",179/*exThumbnailSelBorderColorHide*/,AutomationTranslateColor( GraMakeRGBColor  ( { 128,0,0 } )  , .F. ))
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
29
How can I change the thumbnail's frame color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:Select := "c:\"
		oCascadeFile:SelectMode := 2/*exSelectModeThumbnail*/
		oCascadeFile:SetProperty("Background",177/*exThumbnailBorderColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,1 } )  , .F. ))
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
28
Turn on the background-alternate colors, for Thumbnail view

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:Select := "c:\"
		oCascadeFile:SelectMode := 2/*exSelectModeThumbnail*/
		oCascadeFile:SetProperty("Background",175/*exThumbnailBackColorAlt*/,AutomationTranslateColor( GraMakeRGBColor  ( { 128,128,128 } )  , .F. ))
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
27
Is there any option I can highlight the panel view that currently has the focus

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:SetProperty("Background",173/*exFocusFrame*/,AutomationTranslateColor( GraMakeRGBColor  ( { 128,128,128 } )  , .F. ))
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
26
I disabled the split bars, the question is how can I change the visual appearance of them

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:SetProperty("Background",18/*exSplitBar*/,AutomationTranslateColor( GraMakeRGBColor  ( { 128,128,128 } )  , .F. ))
		oCascadeFile:SetProperty("Background",171/*exDisableSplitBar*/,oCascadeFile:Background(18/*exSplitBar*/))
		oCascadeFile:SetProperty("Background",142/*exCSplitBar*/,oCascadeFile:Background(18/*exSplitBar*/))
		oCascadeFile:SetProperty("Background",141/*exHSplitBar*/,oCascadeFile:Background(18/*exSplitBar*/))
		oCascadeFile:SetProperty("Background",170/*exSplitBarSize*/,AutomationTranslateColor( GraMakeRGBColor  ( { 2,0,0 } )  , .F. ))
		oCascadeFile:SetProperty("Background",172/*exDisableSplitBarSize*/,oCascadeFile:Background(170/*exSplitBarSize*/))
		oCascadeFile:HeaderVisible := .F.
		oCascadeFile:Mode := 771/*exAutoFitOnResizeClient+exDisableResizeCascadeColumns+exSplitFixCascadeMode*/
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
25
The control's split bar looks a bit larger, can I make it smaller

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABNACg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVAceAAGaUZrjSgobjmOYhAJCKJUWAFFoVDCgZThGgJHomMIhBDHASQTQ8EytJqmKajCaRSDUJZkWZOIyjBd6a5tVbXEaVTAccxhOKeahvGo5Fred40TRINCWHI1d4NH69JbwMILSgME6FABXdhWFC+Ex9Kiea7kOqIJwyA5bY5kGRWDRkLzROAALJ1Cz7KqydpDYyAGbABagAYfPy8JzxHKNarfA5GZzuG4zdi8U41WCBdpnHQNS4KL6ndBbWrdFoiC8X4QnAOQ8B4dwiHQCIEhQDQmDOIZUmQZYDkIVRSmIEQ3lUGwbEIRQQh4ZpeEQGIMB0JZdkoc4XnqVB/k0CAGAKAJgEgFgGgGYBXnyVA5mCRQ4maA5NjgRJvgSTwoFY" +;
		"FoFmGCBmBqBphhgTJvDcIkFlWCJhmOLgmDoYoIiYKoKmKSI2C6CwiGOLJwgyTJ4lYAg8mOCI+DqDpjkiMJ0g+TJZAYN4OGOWQWEaCpjnOUhBDMZAzk4MYTmUCRGFKFJlEkRhJhKZJTjIWoWmWSR2F6F5mAmBhbhWZAoASdYZk6WYmGqGpmkmNhuhulQonaHJlgmGhnDuJ4JmYeoemeSZ2H6H5nhmTJ2h0TQKAoHohmiCgmgqIpokoJJ3iOaBKDydw8GkShWhaJZpgoZoaiaaRTmKHokGieJiiKKJqEqFomimaoKg6Hg+CgSouimK5rAqRg4D4axKjaHoSGuCpmjqLprkqdo6i0D4aBKQIgiwSwWkaMZsgsJpGD6LJLAqNIyi0CxGlKHJskOahLgKJhzlaK4gi2GxOl6MZtjmTJOjiX5ThSWo5mMM5CkCOpukuNpujubwLiYEY8k2NQ4mqPZNhuZgIj6b5LnaeQ2GXsJrGuQAEAQgI")
		oCascadeFile:AllowSplitView := 2/*exAllowTwoSplitView*/
		oCascadeFile:SetProperty("Background",18/*exSplitBar*/,0x1000000)
		oCascadeFile:SetProperty("Background",142/*exCSplitBar*/,0x1000000)
		oCascadeFile:SetProperty("Background",141/*exHSplitBar*/,0x1000000)
		oCascadeFile:SetProperty("Background",170/*exSplitBarSize*/,AutomationTranslateColor( GraMakeRGBColor  ( { 3,0,0 } )  , .F. ))
		oCascadeFile:HeaderVisible := .F.
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
24
How can I change the status bar's visual appearance

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABNACg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVAceAAGaUZrjSgobjmOYhAJCKJUWAFFoVDCgZThGgJHomMIhBDHASQTQ8EytJqmKajCaRSDUJZkWZOIyjBd6a5tVbXEaVTAccxhOKeahvGo5Fred40TRINCWHI1d4NH69JbwMILSgME6FABXdhWFC+Ex9Kiea7kOqIJwyA5bY5kGRWDRkLzROAALJ1Cz7KqydpDYyAGbABagAYfPy8JzxHKNarfA5GZzuG4zdi8U41WCBdpnHQNS4KL6ndBbWrdFoiC8X4QnAOQ8B4dwiHQCIEhQDQmDOIZUmQZYDkIVRSmIEQ3lUGwbEIRQQh4ZpeEQGIMB0JZdkoc4XnqVB/k0CAGAKAJgEgFgGgGYBXnyVA5mCRQ4maA5NjgRJvgSTwoFY" +;
		"FoFmGCBmBqBphhgTJvDcIkFlWCJhmOLgmDoYoIiYKoKmKSI2C6CwiGOLJwgyTJ4lYAg8mOCI+DqDpjkiMJ0g+TJZAYN4OGOWQWEaCpjnOUhBDMZAzk4MYTmUCRGFKFJlEkRhJhKZJTjIWoWmWSR2F6F5mAmBhbhWZAoASdYZk6WYmGqGpmkmNhuhulQonaHJlgmGhnDuJ4JmYeoemeSZ2H6H5nhmTJ2h0TQKAoHohmiCgmgqIpokoJJ3iOaBKDydw8GkShWhaJZpgoZoaiaaRTmKHokGieJiiKKJqEqFomimaoKg6Hg+CgSouimK5rAqRg4D4axKjaHoSGuCpmjqLprkqdo6i0D4aBKQIgiwSwWkaMZsgsJpGD6LJLAqNIyi0CxGlKHJskOahLgKJhzlaK4gi2GxOl6MZtjmTJOjiX5ThSWo5mMM5CkCOpukuNpujubwLiYEY8k2NQ4mqPZNhuZgIj6b5LnaeQ2GXsJrGuQAEAQgI")
		oCascadeFile:StatusBarVisible := 2/*exStatusBarAnchorTop*/
		oCascadeFile:SetProperty("Background",168/*exStatusBackColor*/,0x1404040)
		oCascadeFile:SetProperty("Background",169/*exStatusForeColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oCascadeFile:SetProperty("Background",174/*exStatusPanelBackColor*/,0x1808080)
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
23
How can I change the status bar's visual appearance

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:StatusBarVisible := 2/*exStatusBarAnchorTop*/
		oCascadeFile:SetProperty("Background",168/*exStatusBackColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 40,40,40 } )  , .F. ))
		oCascadeFile:SetProperty("Background",169/*exStatusForeColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oCascadeFile:SetProperty("Background",174/*exStatusPanelBackColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 128,128,128 } )  , .F. ))
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
22
How can I change the visual appearance for all split-bars that the control displays

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABNACg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVAceAAGaUZrjSgobjmOYhAJCKJUWAFFoVDCgZThGgJHomMIhBDHASQTQ8EytJqmKajCaRSDUJZkWZOIyjBd6a5tVbXEaVTAccxhOKeahvGo5Fred40TRINCWHI1d4NH69JbwMILSgME6FABXdhWFC+Ex9Kiea7kOqIJwyA5bY5kGRWDRkLzROAALJ1Cz7KqydpDYyAGbABagAYfPy8JzxHKNarfA5GZzuG4zdi8U41WCBdpnHQNS4KL6ndBbWrdFoiC8X4QnAOQ8B4dwiHQCIEhQDQmDOIZUmQZYDkIVRSmIEQ3lUGwbEIRQQh4ZpeEQGIMB0JZdkoc4XnqVB/k0CAGAKAJgEgFgGgGYBXnyVA5mCRQ4maA5NjgRJvgSTwoFY" +;
		"FoFmGCBmBqBphhgTJvDcIkFlWCJhmOLgmDoYoIiYKoKmKSI2C6CwiGOLJwgyTJ4lYAg8mOCI+DqDpjkiMJ0g+TJZAYN4OGOWQWEaCpjnOUhBDMZAzk4MYTmUCRGFKFJlEkRhJhKZJTjIWoWmWSR2F6F5mAmBhbhWZAoASdYZk6WYmGqGpmkmNhuhulQonaHJlgmGhnDuJ4JmYeoemeSZ2H6H5nhmTJ2h0TQKAoHohmiCgmgqIpokoJJ3iOaBKDydw8GkShWhaJZpgoZoaiaaRTmKHokGieJiiKKJqEqFomimaoKg6Hg+CgSouimK5rAqRg4D4axKjaHoSGuCpmjqLprkqdo6i0D4aBKQIgiwSwWkaMZsgsJpGD6LJLAqNIyi0CxGlKHJskOahLgKJhzlaK4gi2GxOl6MZtjmTJOjiX5ThSWo5mMM5CkCOpukuNpujubwLiYEY8k2NQ4mqPZNhuZgIj6b5LnaeQ2GXsJrGuQAEAQgI")
		oCascadeFile:AllowSplitView := 2/*exAllowTwoSplitView*/
		oCascadeFile:SetProperty("Background",18/*exSplitBar*/,0x1000000)
		oCascadeFile:SetProperty("Background",142/*exCSplitBar*/,0x1000000)
		oCascadeFile:SetProperty("Background",141/*exHSplitBar*/,0x1000000)
		oCascadeFile:HeaderVisible := .F.
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
21
How can I change the visual appearance for all split-bars that the control displays

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:AllowSplitView := 2/*exAllowTwoSplitView*/
		oCascadeFile:SetProperty("Background",18/*exSplitBar*/,AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,1 } )  , .F. ))
		oCascadeFile:SetProperty("Background",142/*exCSplitBar*/,AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,1 } )  , .F. ))
		oCascadeFile:SetProperty("Background",141/*exHSplitBar*/,AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,1 } )  , .F. ))
		oCascadeFile:HeaderVisible := .F.
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
20
How can I change the tooltip's visual appearance

PROCEDURE OnMouseMove(oCascadeFile,Button,Shift,X,Y)
	oCascadeFile:ShowToolTip("This is a bit of <b>HTML<b> text to be shown when the cursor hovers the control.")
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oCascadeFile,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/

		oCascadeFile:BeginUpdate()
		oCascadeFile:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABEgDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIHQSDSEYyjGLIXAWCYSAAMIyDKAUEhyGCUBileQhVgyJI3RgMUIzVAcRRFEiUJQlIZZCgeCZETrPcaUVDcTQHJyRYDlWA3NBwJAAVTVcT0FJdCxEGiRBiqOZ5CAqHIeU7IMI2HTNMStDCYRpEW4bTocMJ1QKNNzyRIkRShC6zLRnDAwApyLIuTBOcx0Pb+CQ5HgAMgnbA6Bg2XYNTRYNKRRjYKwTKCQJ5tOCbNq2W6WUhBFb2DYdewTQIAM6gO0cQyiAC2Lb0aR5brKdIoXpeAAcDblF4/BLZAA2DZsOhzBpjYreNBRBhuC+G4oFQOQ8liXw/BEX5pg4dY8GgHpCiGNJtHadJwDGFp7HuQpiF2OBRHsHZ7g+ZJkHofB7HARAkiAaQYkcQZUHIGRUGQDIuE2BAhDYBxGkMZAkCgRxRnWKAYEYB4Elm" +;
		"aQJAGQ42BgOxPCgdJMgeS7/CKCJiEiCJDgmThYiSfoKmGNAOBsOYjAMEgyDcYxDi4NoNmOCJmDoMhjkMYg+D8ZAEAyd4QkwWQUmqEZOmkJhKhKZJJDYSg8mUAwiFIOZlEQDJVhWTR5GSb4WmSaR2F6FpOniJJlDGJhEA4MgxA4OYknGGpPAmNhuhulRGHKGxLjmVQDC+J4DiYeg8GGWYuH6H5oAoBoCgcTwimaBodmeGZongPRPCoCoOiOZ5qBIIoiAuaZomkPoPGOToEiaaZKHaHYfiUA5OhMAAngoVh6iYKYqHqKoqmGWoGiOKRkHOKJ7D2TxKgaNotmuCpmFAPQrkqPh4iwaw6laOowmwOpwnSL4LmiXJ9D4TxbBqTozm0CxGjwPRtEsIJsjWT4Dlydo1C2Sx2l6N5uAOWpijIDpbhYQ42i4K4mmqOpukuMpnjIJIjmKco5m8S5WnaPZkDuSJ4h0S46FKcY8m+DAHAGPovkoUhgD4cILmsCpCnCTA" +;
		"2nKQgPhwFokh4JpjmsFpEDGDBnBqRpwgwWJ6kSKhZjie5FnGTIXCWR4yAmYh+D+D48g8HpLnMDJHDIPoylObwpWIY5/CyTJzkydw1kSIhzA6ZQ7E+fJrDWUZ0g0JxKksT5NDSPJTmUaRcmAN5Nn0FJ/lMdYNGcWpWnWHRaGAMZ2AQDoEDKNhLicVpViQDYnGqWpPl2HxFDQNwJgoLoGGaCcDInRdjMCuNYbovR2D2FyNgNIcAJC5FWKwNwcBqAzCWBoPgTA8BkEwFwN4HRjjyAMH8EgcQ5CaGIFoAAHQ3AoAAIAQBAQ==")
		oCascadeFile:SetProperty("Background",64/*exToolTipAppearance*/,0x1000000)
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
19
How can I change the tooltip's visual appearance

PROCEDURE OnMouseMove(oCascadeFile,Button,Shift,X,Y)
	oCascadeFile:ShowToolTip("This is a bit of <b>HTML<b> text to be shown when the cursor hovers the control.")
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oCascadeFile,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/

		oCascadeFile:BeginUpdate()
		oCascadeFile:SetProperty("Background",65/*exToolTipBackColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,1 } )  , .F. ))
		oCascadeFile:SetProperty("Background",66/*exToolTipForeColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,0 } )  , .F. ))
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
18
How can I change the visual appearance of the control's split bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABEgDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIHQSDSEYyjGLIXAWCYSAAMIyDKAUEhyGCUBileQhVgyJI3RgMUIzVAcRRFEiUJQlIZZCgeCZETrPcaUVDcTQHJyRYDlWA3NBwJAAVTVcT0FJdCxEGiRBiqOZ5CAqHIeU7IMI2HTNMStDCYRpEW4bTocMJ1QKNNzyRIkRShC6zLRnDAwApyLIuTBOcx0Pb+CQ5HgAMgnbA6Bg2XYNTRYNKRRjYKwTKCQJ5tOCbNq2W6WUhBFb2DYdewTQIAM6gO0cQyiAC2Lb0aR5brKdIoXpeAAcDblF4/BLZAA2DZsOhzBpjYreNBRBhuC+G4oFQOQ8liXw/BEX5pg4dY8GgHpCiGNJtHadJwDGFp7HuQpiF2OBRHsHZ7g+ZJkHofB7HARAkiAaQYkcQZUHIGRUGQDIuE2BAhDYBxGkMZAkCgRxRnWKAYEYB4Elm" +;
		"aQJAGQ42BgOxPCgdJMgeS7/CKCJiEiCJDgmThYiSfoKmGNAOBsOYjAMEgyDcYxDi4NoNmOCJmDoMhjkMYg+D8ZAEAyd4QkwWQUmqEZOmkJhKhKZJJDYSg8mUAwiFIOZlEQDJVhWTR5GSb4WmSaR2F6FpOniJJlDGJhEA4MgxA4OYknGGpPAmNhuhulRGHKGxLjmVQDC+J4DiYeg8GGWYuH6H5oAoBoCgcTwimaBodmeGZongPRPCoCoOiOZ5qBIIoiAuaZomkPoPGOToEiaaZKHaHYfiUA5OhMAAngoVh6iYKYqHqKoqmGWoGiOKRkHOKJ7D2TxKgaNotmuCpmFAPQrkqPh4iwaw6laOowmwOpwnSL4LmiXJ9D4TxbBqTozm0CxGjwPRtEsIJsjWT4Dlydo1C2Sx2l6N5uAOWpijIDpbhYQ42i4K4mmqOpukuMpnjIJIjmKco5m8S5WnaPZkDuSJ4h0S46FKcY8m+DAHAGPovkoUhgD4cILmsCpCnCTA" +;
		"2nKQgPhwFokh4JpjmsFpEDGDBnBqRpwgwWJ6kSKhZjie5FnGTIXCWR4yAmYh+D+D48g8HpLnMDJHDIPoylObwpWIY5/CyTJzkydw1kSIhzA6ZQ7E+fJrDWUZ0g0JxKksT5NDSPJTmUaRcmAN5Nn0FJ/lMdYNGcWpWnWHRaGAMZ2AQDoEDKNhLicVpViQDYnGqWpPl2HxFDQNwJgoLoGGaCcDInRdjMCuNYbovR2D2FyNgNIcAJC5FWKwNwcBqAzCWBoPgTA8BkEwFwN4HRjjyAMH8EgcQ5CaGIFoAAHQ3AoAAIAQBAQ==")
		oCascadeFile:SetProperty("Background",18/*exSplitBar*/,0x1000000)
		oCascadeFile:HeaderVisible := .F.
		oCascadeFile:Mode := 0/*exFixCascadeMode*/
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
17
How can I change the visual appearance of the control's split bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:SetProperty("Background",18/*exSplitBar*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oCascadeFile:HeaderVisible := .F.
		oCascadeFile:Mode := 0/*exFixCascadeMode*/
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
16
How can I load images into the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oCascadeFile:StatusBarVisible := 2/*exStatusBarAnchorTop*/
		oCascadeFile:StatusBarLabel := "<img>pic1</img> This is picture into the control's status bar"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
15
Is it possible to show my tooltip

PROCEDURE OnMouseMove(oCascadeFile,Button,Shift,X,Y)
	oCascadeFile:ShowToolTip("This is a bit of <b>HTML<b> text to be shown when the cursor hovers the control.")
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oCascadeFile,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/


	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
14
Is it possible to change the tooltip's font

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile
	LOCAL f

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		f := CreateObject("StdFont")
			f:Name := "Tahoma"
			f:Size := 12
		oCascadeFile:ToolTipFont := f

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
13
Is it possible to change the tooltip's width

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:ToolTipWidth := 64

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
12
How can I disable the control
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:Enabled := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
11
How can I force refreshing the control
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:BeginUpdate()
		oCascadeFile:Refresh()
		oCascadeFile:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
10
How can I prevent showing any tooltip
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:ToolTipDelay := 0
		oCascadeFile:ToolTipPopDelay := 0

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
9
How can I make the control's tooltip to be shown for a longer time

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:ToolTipPopDelay := 10000

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
8
How can I make the control's tooltip to be shown faster

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:ToolTipDelay := 1

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
7
How can I get the control's handle
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		DevOut( Transform(oCascadeFile:hWnd(),"") )

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
6
How can I clears the images into the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oCascadeFile:StatusBarVisible := 2/*exStatusBarAnchorTop*/
		oCascadeFile:StatusBarLabel := "<img>1</img> This is an icon into the control's status bar"
		oCascadeFile:ReplaceIcon(0,-1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
5
How can I load images into the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oCascadeFile:StatusBarVisible := 2/*exStatusBarAnchorTop*/
		oCascadeFile:StatusBarLabel := "<img>1</img> This is an icon into the control's status bar"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
4
How do I get the version of the control I am running
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		DevOut( oCascadeFile:Version() )

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
3
The control's foreground is changed if I open multiple views. What can be the problem

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oCascadeFile:SetProperty("ForeColorAlternate",oCascadeFile:ForeColor())

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
2
The control's background is changed if I open multiple views. What can be the problem

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,0 } )  , .F. ))
		oCascadeFile:SetProperty("BackColorAlternate",oCascadeFile:BackColor())

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
1
How do I change the control's background color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oCascadeFile

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oCascadeFile := XbpActiveXControl():new( oForm:drawingArea )
	oCascadeFile:CLSID  := "Exontrol.ExMiller.1" /*{A44EFDCD-D526-4E58-909D-193FD6519290}*/
	oCascadeFile:create(,, {10,60},{610,370} )

		oCascadeFile:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oCascadeFile:SetProperty("BackColorAlternate",oCascadeFile:BackColor())
		oCascadeFile:HeaderVisible := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN